Testing and debugging of a new application specific integrated circuit (ASIC) or of a new or modified application program running on an ASIC requires insight into the internal workings of busses and program execution. The IEEE 1149.1 (JTAG) standard has proven to be a very robust solution to a variety of test and debug systems, enabling a rich ecosystem of compliant products to evolve across virtually the entire electronics industry. Yet increasing chip integration and rising focus on power management has created new challenges that were not considered when the standard was originally developed. The Mobile Industry Processor Interface (MIPI) Test and Debug Working group has selected a new test and debug interface, called P1149.7, which builds upon the IEEE1149.1 standard. P1149.7 enables critical advancements in test and debug functionality while maintaining compatibility with IEEE 1149.1.
In order to provide more visibility into the execution of programs within a complicated system on a chip (SOC), instruction execution tracing may be provided. Various capabilities for instruction tracing have been provided for processors in the past; for example, a test system provided by Texas Instruments, “Code Composer Studio” uses a trace buffer included within a microprocessor to trace program execution by recording address traces and when a discontinuity occurred in an instruction execution sequence, such as by taking a jump or receiving an interrupt. Another example of program execution tracing is provided by ARM Limited, which provides a program trace macrocell (PTM) for use with processor cores in an ASIC.
In addition to P1149.7, the MIPI test and debug interface specifies how multiple on-chip test access port (TAP) controllers can be chained in a true IEEE1149.1 compliant way. It also specifies a System Trace Module (STM). STM consists of a System Trace Protocol (STP) and the Parallel Trace Interface (PTI). The signals and pins required for these interfaces are given through the ‘MIPI Alliance Recommendation for Test & Debug—Debug Connector’, also part of the MIPI test and debug interface. The main blocks of the MIPI Debug and Trace Interface (DTI), seen from outside of the system, include: a debug connector; the basic debug access mechanism: JTAG and/or P1149.7; a mechanism to select different TAP controllers in a system (Multiple TAP control); and a System Trace Module.